In the history of computing, there have been a number of tagged computer architectures, including the Lisp Machine and certain Burroughs computer systems. In such an architecture, a word of memory is partitioned by the hardware into a data portion and a tag portion, wherein the tag portion contains metadata with regards to the corresponding data portion.
These architectures have been unsuccessful in part because there are alternative software solutions that do not impose as high a cost as that of historical systems in hardware. For example, historical systems have a memory cost and/or a complexity cost to provide tags in hardware. There is a need for more efficient, software-accessible and compatible tagging mechanisms supported in hardware.